package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户兑换卡
 */
@ApiModel(value = "com-lanchetech-entity-UserVoucher")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserVoucher implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * 得到此兑换卡的订单明细编号
     */
    @ApiModelProperty(value = "得到此兑换卡的订单明细编号")
    private Long fromOrderSkuId;

    /**
     * 使用此兑换卡的订单明细编号
     */
    @ApiModelProperty(value = "使用此兑换卡的订单明细编号")
    private Long useOrderSkuId;

    /**
     * 商品名称冗余
     */
    @ApiModelProperty(value = "商品名称冗余")
    private String productName;

    /**
     * 商店编号
     */
    @ApiModelProperty(value = "商店编号")
    private Long shopId;

    /**
     * 兑换商品SPU id
     */
    @ApiModelProperty(value = "兑换商品SPU id")
    private Long spuId;

    /**
     * 兑换券类型 0 秒杀 1 砍价 2 礼品
     */
    @ApiModelProperty(value = "兑换券类型 0 秒杀 1 砍价 2 礼品")
    private Byte type;

    /**
     * 状态 0 未使用 1 已使用 2 已作废
     */
    @ApiModelProperty(value = "状态 0 未使用 1 已使用 2 已作废")
    private Byte status;

    /**
     * 使用时间
     */
    @ApiModelProperty(value = "使用时间")
    private Date useTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    private static final long serialVersionUID = 1L;
}